<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
            1. var 关键字：函数级的作用域
            2. let关键字：
                1. let是块级作用域（{}级）
                2. let没有变量提升，必须先声明后使用
                3. let不能重复声明
            let更切合于c，python语言的习惯
        */

        if (true) {
            var i = 5;
        }
        //var能够获取到i的值，而let就不能，let只能是一个{}内的局部变量
        //并且后面i的变化也会影响i的值，而let不会
        console.log(i);

        var a = [];
        //由于var的特性，没有实现闭包产生问题
        for (var i = 0; i < 10; i++) {
            a[i] = function () {
                console.log(i);
            };
        }
        a[6]();



    </script>
</body>

</html>